package com.clps.algorithm.chapter08.日程表;

import java.util.Map;
import java.util.TreeMap;

/**
 * 请实现一个类型MyCalendar用来记录你的日程安排，该类型有一个方法book(int start, int end)往日程安排表里添加一个时间区域为[start, end)的事项（这是个半开半闭区间，
 * 即start<=x<end）。如果[start, end)内没有事先安排其他事项，则成功添加该事项并返回true。否则不能添加该事项，并返回false。
 */
public class demo01 {

    public static void main(String[] args) {

    }

}

class Mycalendar{

    private TreeMap<Integer,Integer> events;

    public Mycalendar() {
        events = new TreeMap<>();
    }

    public  boolean book(int start,int end){
        Map.Entry<Integer, Integer> integerIntegerEntry = events.floorEntry(start);
        if(integerIntegerEntry!=null && integerIntegerEntry.getValue()>start){
            return  false;
        }
        integerIntegerEntry = events.ceilingEntry(start);
        if(events!=null && integerIntegerEntry.getKey()<end){
            return   false;
        }
        events.put(start,end);
        return true;
    }
}
